package com.jemmyee.pizza.web.utils;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

import com.jemmyee.pizza.entity.CaiType;
import com.jemmyee.pizza.entity.Dept;
import com.jemmyee.pizza.web.Constants;

public class CategoryXmlUtils {

	public static void createXml(String filePath, List<Dept> menus) {
		// 使用 DocumentHelper 类创建一个文档实例。 DocumentHelper 是生成 XML 文档节点的 dom4j API
		// 工厂类。
		Document document = DocumentHelper.createDocument();
		// 使用 addElement() 方法创建根元素 root 。addElement() 用于向 XML 文档中增加元素。
		Element root = document.addElement("root");
		// root.addComment("an root");
		for (Dept menu : menus) {
			Element item = root.addElement("item");
			if (menu.getId() == 0) {
				item.addAttribute("id", "1");
			} else {
				item.addAttribute("id", menu.getId().toString());
			}

			if (menu.getFatherId() == 0) {
				item.addAttribute("parent_id", "0");
			} else {
				item.addAttribute("parent_id", menu.getFatherId().toString());
			}

			Element content = item.addElement("content");
			Element name = content.addElement("name");
			// name.setText(" <![CDATA["+cate.getName()+"]]>");
			name.setText(menu.getName());
		}

		XMLWriter output;
		try {
			// 美化格式
			OutputFormat format = OutputFormat.createPrettyPrint();
			format.setEncoding(Constants.CATEGORY_XML_FILE_ENCODING);
			output = new XMLWriter(new FileWriter(new File(filePath)), format);
			output.write(document);
			output.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}
	public static void createCaiTypeXml(String filePath, List<CaiType> menus) {
		// 使用 DocumentHelper 类创建一个文档实例。 DocumentHelper 是生成 XML 文档节点的 dom4j API
		// 工厂类。
		Document document = DocumentHelper.createDocument();
		// 使用 addElement() 方法创建根元素 root 。addElement() 用于向 XML 文档中增加元素。
		Element root = document.addElement("root");
		// root.addComment("an root");
		for (CaiType menu : menus) {
			Element item = root.addElement("item");
			if (menu.getId() == 0) {
				item.addAttribute("id", "1");
			} else {
				item.addAttribute("id", menu.getId().toString());
			}
			
			if (menu.getFatherId() == 0) {
				item.addAttribute("parent_id", "0");
			} else {
				item.addAttribute("parent_id", menu.getFatherId().toString());
			}
			
			Element content = item.addElement("content");
			Element name = content.addElement("name");
			// name.setText(" <![CDATA["+cate.getName()+"]]>");
			name.setText(menu.getName());
		}
		
		XMLWriter output;
		try {
			// 美化格式
			OutputFormat format = OutputFormat.createPrettyPrint();
			format.setEncoding(Constants.CATEGORY_XML_FILE_ENCODING);
			output = new XMLWriter(new FileWriter(new File(filePath)), format);
			output.write(document);
			output.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
	}

}
